It is becoming more desirable for home entertainment components to communication with one another over a home entertainment network. Such communications allow entertainment content, such as movies, music, internet content, etc. as well as telephone service, to be handled by a network of devices rather than being isolated to one particular home entertainment device.
One particular standard that has been adopted to establish a home entertainment network within a home is the industry standard established by MoCA (Multi-media over Coaxial Alliance). The MoCA standard allows components (sometimes referred to as “nodes”) to communicate with one another and to share content over a high-speed network using coaxial cable as the media that connects the nodes. The network is established with one node being selected to perform the functions of a “Network Controller” (NC). The NC functions include organizing and arbitrating the communications over a single coaxial cable that links all of the nodes of the network. Since the media (i.e., the coaxial cable) is shared, the MoCA standard establishes an arbitration scheme by which the NC determines which node will have control of the media at any particular moment in time.
In accordance with this scheme, the NC will schedule all communications over the media. This schedule is communicated to each of the nodes of the network in what is referred to as a Media Access Plan (MAP). MAPs are sent by the NC on a regularly scheduled basis. Each MAP is placed at the beginning of a MAP cycle. The MAP indicates which node will be transmitting at each time interval in the following MAP cycle.
FIG. 1 is a timing diagram that illustrates the timing relationship between Maps 201, 202 and Map cycles 203, 205. A MAP cycle 205 is defined as the communication activity on the channel under the control of the previously sent MAP 201. Accordingly, each MAP 201 schedules all of the communication activity for the next MAP cycle 205 (only one such “next MAP cycle” 205 is shown in FIG. 1). It should be noted that the next MAP 202 is sent during the next MAP cycle 205 under the scheduling control of the previous MAP 201. Accordingly, the MAP 201 determines the following information for each packet to be sent in the next MAP cycle 205: i) packet start time; ii) packet length; iii) source node; and iv) destination node(s).
One particular type of packet that the MAP 201, 202 is responsible for scheduling is a reservation request (RR) 207, 209, 211. Six such RRs are shown in the first MAP cycle 203 of FIG. 1, starting with the first RR 207 and ending with the last RR 209. One RR 211 is shown in the second MAP cycle 205. RRs 207, 209, 211 are sent by client nodes to indicate that the client node has packets that it wishes to send and thus to request that the NC schedule a time during a subsequent MAP cycle when the client node can send those packets. Accordingly, when a client node has information to transmit, the client node must first wait for the NC to allocate a time when the client node can send an RR 207, 209, 211. Once the NC has allocated a time during which the client node can send an RR 207, 209, 211, the client node communicates the RR 207, 209, 211 to the NC at the time allocated (e.g., at the packet start time and for the packet length indicated by the MAP 201 for RR 211).
The RR 207, 209 allows the client node to communicate to the NC that the client node has data packets it wishes to send. Furthermore, the RR 207, 209 indicates the associated destination node(s), packet length, packet priority and so on for those data packets. Packets with higher priority will be scheduled ahead of packets with lower priority. The NC uses this information to schedule times during which the client node can transmit those data packets it wishes to send. The NC then communicates that schedule by generating and transmitting the MAP 201 for the next MAP cycle 205.
Once an RR from a client node has been granted, the client node will transmit the data packets to be communicated during the time allocated by the NC. The data packets have a particular format that dictates the maximum length of a data packet, and the content of the header of the data packet and any other overhead information, such as forward error correction codes. The longer the data packet, the more efficiently the media will be used. That is, the more data that is loaded into a data packet, the greater the ratio of data to overhead. The greater the ratio of data to overhead the more data can be communicated over the media in a given amount of time (i.e., greater media efficiency), assuming that the amount of time over which the efficiency is measured is relatively long with respect to the packet length.
However, the data that a particular client node has to send may come from different source applications, have different packet sizes, have different destinations and have different priorities assigned. Accordingly, sorting the different packets that come in from different source applications can be cumbersome and add to the inefficiency of the network generally. Therefore, there is a need for an efficient and relatively simple way to allocate information from different source applications to packets that are to be transmitted over a network, such as a MoCA network, which has a defined packet overhead and maximum packet size.